package com.snpic.appaw.module.insure.controller.app.vehicleInformation.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.util.*;

import jakarta.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.multipart.MultipartFile;

import java.time.LocalDateTime;

@Schema(description = "用户 APP - 首页车辆卡片/编辑家庭档案 - 车辆信息新增/修改 Request VO")
@Data
public class AppVehicleInformationSaveReqVO {
	@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED)
	private Long id;

	@Schema(description = "上传的行驶证正面图片")
	private MultipartFile vehicleLicenseFile;

	@Schema(description = "车牌号")
	@NotEmpty(message = "车牌号不能未空")
	private String licensePlateNumber;

	@Schema(description = "车型", example = "小型轿车")
	private String vehicleType;

	@Schema(description = "车架号")
	private String frameNumber;

	@Schema(description = "发动机号")
	private String engineNumber;

	@Schema(description = "注册日期")
	private String registrationDate;

	@Schema(description = "用户编号")
	private Long userId;

	@Schema(description = "是否认证")
	private String isAuthentication;

	@Schema(description = "查询时间")
	private String queryTime;

	@Schema(description = "备注")
	private String remark;


	@Schema(description = "车辆信息来源：1：ids；2：用户手动添加")
	private String carSource;

	@Schema(description = "违章提醒是否开启：“0”开启  “1”不开启")
	private String isOpen;

	@Schema(description = "推送时间间隔：7天，15天，30天")
	private String timeSpan;

	@Schema(description = "服务开始定制日期 yyyy - MM - dd")
	private LocalDateTime customingzingTime;

	@Schema(description = "品牌型号，使用第三方接口得到", example = "五菱LZW111111111多用途乘用车")
	private String brandModel;

	@Schema(description = "是否过户车")
	@NotNull(message = "是否过户车,不能为空")
	private Boolean transfered;

	@Schema(description = "投保地区")
	private String insuredArea;

	@Schema(description = "S3中，行驶证正面照片存储路径")
	private String vehicleLisenceUrl;

	@Schema(description = "是否车主")
	@NotNull(message = "是否车主不能为空")
	private Boolean ownerStatus;

	@Schema(description = "车主姓名")
	private String carOwner;

	@Schema(description = "车主证件类型,01-身份证")
	private String idType;

	@Schema(description = "车主证件号")
	private String idNo;

	@Schema(description = "选中状态,1-选中")
	private Boolean selectStatus;

	@Schema(description = "车险报价,待选车辆,选中状态,true-选中")
	private Boolean selectStatusForQuote;

	@Schema(description = "城市代码")
	private String citycode;

}